package com.xiaomaoguai.commom.action;

import java.util.List;

import com.github.pagehelper.PageHelper;

import tk.mybatis.mapper.common.Mapper;

/**
 * @Description :
 * @FileName: BaseService.java
 * @Author :WeiHui.Zhang
 * @Data : 2015年8月12日 下午5:25:50
 * @Version:V1.00
 */
public abstract class BaseServiceImpl<T> implements BaseService<T> {

	protected abstract Mapper<T> getMapper();

	public int save(T entity) {
		return getMapper().insert(entity);
	}

	public int delete(T entity) {
		return getMapper().deleteByPrimaryKey(entity);
	}

	public T selectByPrimaryKey(Object key) {
		return getMapper().selectByPrimaryKey(key);
	}

	public T selectOne(T entity) {
		return getMapper().selectOne(entity);
	}

	/**
	 * 单表分页查询
	 *
	 * @param pageNum
	 * @param pageSize
	 * @return
	 */
	public List<T> selectPage(int pageNum, int pageSize) {
		PageHelper.startPage(pageNum, pageSize);
		// Spring4支持泛型注入
		return getMapper().select(null);
	}
}
